package 算法.leetcode.labuladong.二叉树;

import 算法.leetcode.offer.base.TreeNode;

/**
 * @author lchenglong
 * @date 2022/6/24
 */
public class 修剪二叉搜索树 {
    class Solution {
        public TreeNode trimBST(TreeNode root, int low, int high) {
            if (root == null) return null;
            if (root.val < low){
                // 删除root,并返回右子树
                return trimBST(root.right,low,high);
            }
            if (root.val > high){
                // 删除root,并返回左子树
                return trimBST(root.left,low,high);
            }
            // 后续遍历
            // 继续左右遍历
            root.left = trimBST(root.left,low,high);
            root.right = trimBST(root.right,low,high);
            return root;
        }
    }
}
